package com.boulderai.mcp.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode;

/**
 * MCP工具定义
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Tool {
    
    @JsonProperty("name")
    private String name;
    
    @JsonProperty("description")
    private String description;
    
    @JsonProperty("inputSchema")
    private JsonNode inputSchema;
    
    public Tool() {}
    
    public Tool(String name, String description, JsonNode inputSchema) {
        this.name = name;
        this.description = description;
        this.inputSchema = inputSchema;
    }
    
    // Getters and Setters
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getDescription() {
        return description;
    }
    
    public void setDescription(String description) {
        this.description = description;
    }
    
    public JsonNode getInputSchema() {
        return inputSchema;
    }
    
    public void setInputSchema(JsonNode inputSchema) {
        this.inputSchema = inputSchema;
    }
    
    @Override
    public String toString() {
        return String.format("Tool{name='%s', description='%s'}", name, description);
    }
}